#ifndef __CAPAINDICES_CONEXIONCAPMETADATA_H
#define __CAPAINDICES_CONEXIONCAPMETADATA_H

/*****************************************************************************
*                     Organizacion de Datos - 75.06                          *
*                         Catedra Lic. Servetto                              *
*            Facultad de Ingenieria - Universidad de Buenos Aires            *
******************************************************************************/ 

#include "../Comun/Archivo.h"
#include "../Comun/Clase.h"
#include "../Comun/Condiciones.h"


#include <string>
#include <sstream>

using namespace std;
using namespace Comun;

namespace CapaConsulta
{

	class ConexionCapaMetadata
	{

		public:		
		static bool ExisteClase(string clase, Clase** instancia);
		static Resultado* InsertarInstancia(Clase* clase, list<ClaveValor>* datos);
		static Resultado* BorrarInstancia(Clase* clase, CondicionCompuesta* condiciones);
		static Resultado* ActualizarInstancia(Clase* clase, list<ClaveValor>* datos,CondicionCompuesta* condiciones);
		static Resultado* SeleccionarInstancia(Clase* clase, list<string>* miembros, CondicionCompuesta* condiciones);
		static Resultado* CrearClase(string* path);	

		private:

		static void GenerarLlamada(stringstream* entrada, stringstream* salida);

	};

}

#endif
